<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <title>
   Editor: 使用ggtree实现进化树的可视化和注释  | 数螺 | NAUT IDEA
  </title>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
  <style type="text/css">
   #xmain img {
                  max-width: 100%;
                  display: block;
                  margin-top: 10px;
                  margin-bottom: 10px;
                }

                #xmain p {
                    line-height:150%;
                    font-size: 16px;
                    margin-top: 20px;
                }

                #xmain h2 {
                    font-size: 24px;
                }

                #xmain h3 {
                    font-size: 20px;
                }

                #xmain h4 {
                    font-size: 18px;
                }


                .header {
	           background-color: #0099ff;
	           color: #ffffff;
	           margin-bottom: 20px;
	        }

	        .header p {
                  margin: 0px;
                  padding: 10px 0;
                  display: inline-block;  
                  vertical-align: middle;
                  font-size: 16px;
               }

               .header a {
                 color: white;
               }

              .header img {
                 height: 25px;
              }
  </style>
  <script src="http://cdn.bootcss.com/jquery/3.0.0/jquery.min.js">
  </script>
  <script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">
   MathJax.Hub.Config({
          tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]},
          TeX: {equationNumbers: {autoNumber: "AMS"}}
        });
  </script>
  <script src="http://nautstatic-10007657.file.myqcloud.com/static/css/readability.min.js" type="text/javascript">
  </script>
  <script type="text/javascript">
   $(document).ready(function() {
                 var loc = document.location;
                 var uri = {
                  spec: "http://cos.name/2015/11/to-achieve-the-visualization-and-annotation-of-evolutionary-tree-using-ggtree/",
                  host: "http://cos.name",
                  prePath: "http://cos.name",
                  scheme: "http",
                  pathBase: "http://cos.name/"
                 };
    
                 var documentClone = document.cloneNode(true);
                 var article = new Readability(uri, documentClone).parse();
     
                 document.getElementById("xmain").innerHTML = article.content;
                });
  </script>
  <!-- 1466440192: Accept with keywords: (title(0.166666666667):进化树,门户网站,统计学,可视化,服务平台,中国, topn(0.366666666667):进化树,信息,统计学,R语言,图形,线条,结果,主站,例子,可视化,文章,格式,图层,数据,节点,函数,论坛,用户,语法,编辑部,会议,画树,方法,分类,评论,距离,文件格式,聚类,序列,软件).-->
 </head>
 <body class="single single-post postid-11654 single-format-standard sidebar" onload="">
  <div class="header">
   <div class="container">
    <div class="row">
     <div class="col-xs-6 col-sm-6 text-left">
      <a href="/databee">
       <img src="http://nautidea-10007657.cos.myqcloud.com/logo_white.png"/>
      </a>
      <a href="/databee">
       <p>
        数螺
       </p>
      </a>
     </div>
     <div class="hidden-xs col-sm-6 text-right">
      <p>
       致力于数据科学的推广和知识传播
      </p>
     </div>
    </div>
   </div>
  </div>
  <div class="container text-center">
   <h1>
    Editor: 使用ggtree实现进化树的可视化和注释
   </h1>
  </div>
  <div class="container" id="xmain">
   <div class="hfeed site" id="page">
    <header class="site-header" id="masthead" role="banner">
     <div id="cos-logo">
      <a href="http://cos.name/">
       <img src="http://cos.name/wp-content/themes/COS-kermesinus/images/headers/cos-logo.png"/>
      </a>
     </div>
     <div class="navbar" id="navbar">
      <nav class="navigation main-navigation" id="site-navigation" role="navigation">
       <h3 class="menu-toggle">
        菜单
       </h3>
       <a class="screen-reader-text skip-link" href="http://cos.name/2015/11/to-achieve-the-visualization-and-annotation-of-evolutionary-tree-using-ggtree/#content" title="跳至内容">
        跳至内容
       </a>
       <div class="menu-%e6%88%91%e7%9a%84%e8%8f%9c%e5%8d%95-container">
        <ul class="nav-menu" id="menu-%e6%88%91%e7%9a%84%e8%8f%9c%e5%8d%95">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-4746" id="menu-item-4746">
          <a href="http://cos.name">
           主页
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8120" id="menu-item-8120">
          <a href="http://cos.name/cn">
           论坛
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8124" id="menu-item-8124">
            <a href="http://cos.name/cn/wp-login.php?action=register">
             论坛注册
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8125" id="menu-item-8125">
            <a href="http://cos.name/cn/wp-login.php">
             论坛登录
            </a>
           </li>
          </ul>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8110" id="menu-item-8110">
          <a href="http://cos.name/books/">
           图书资料
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8112" id="menu-item-8112">
          <a href="http://cos.name/videos">
           视频教程
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8333" id="menu-item-8333">
          <a href="http://cos.name/salon/">
           统计沙龙
          </a>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8111" id="menu-item-8111">
          <a href="http://cos.name/chinar/">
           R语言会议
          </a>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8109" id="menu-item-8109">
          <a href="http://cos.name/training/">
           讲座与培训
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8115" id="menu-item-8115">
          <a href="http://cos.name/cn/forum/comprehensive/job/">
           招聘信息
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-4780" id="menu-item-4780">
          <a href="http://cos.name/about">
           关于我们
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8113" id="menu-item-8113">
            <a href="http://cos.name/2008/11/how-to-work-with-cos/">
             加入我们
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8119" id="menu-item-8119">
            <a href="http://cos.name/donate/">
             赞助我们
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8114" id="menu-item-8114">
            <a href="http://cos.name/cn/forum/26">
             项目合作
            </a>
           </li>
          </ul>
         </li>
        </ul>
       </div>
       <form action="http://cos.name/" class="search-form" method="get" role="search">
        <label>
         <span class="screen-reader-text">
          搜索：
         </span>
        </label>
       </form>
      </nav>
      <!-- #site-navigation -->
     </div>
     <!-- #navbar -->
    </header>
    <!-- #masthead -->
    <div class="site-main" id="main">
     <div class="content-area" id="primary">
      <div class="site-content" id="content" role="main">
       <article class="post-11654 post type-post status-publish format-standard hentry category-featured category-website category-graphics category-packages category-software tag-ggtree tag-911 tag-948" id="post-11654">
        <header class="entry-header">
         <h1 class="entry-title">
          使用ggtree实现进化树的可视化和注释
         </h1>
         <div class="entry-meta">
          <span class="date">
           <a href="http://cos.name/2015/11/to-achieve-the-visualization-and-annotation-of-evolutionary-tree-using-ggtree/" rel="bookmark" title="链向使用ggtree实现进化树的可视化和注释的固定链接">
            <time class="entry-date" datetime="2015-11-30T00:55:37+00:00">
             2015/11/30
            </time>
           </a>
          </span>
          <span class="categories-links">
           <a href="http://cos.name/category/website/featured/" rel="category tag">
            推荐文章
           </a>
           、
           <a href="http://cos.name/category/website/" rel="category tag">
            统计之都
           </a>
           、
           <a href="http://cos.name/category/software/graphics/" rel="category tag">
            统计图形
           </a>
           、
           <a href="http://cos.name/category/software/packages/" rel="category tag">
            统计软件
           </a>
           、
           <a href="http://cos.name/category/software/" rel="category tag">
            软件应用
           </a>
          </span>
          <span class="tags-links">
           <a href="http://cos.name/tag/ggtree/" rel="tag">
            ggtree
           </a>
           、
           <a href="http://cos.name/tag/%e5%8f%af%e8%a7%86%e5%8c%96/" rel="tag">
            可视化
           </a>
           、
           <a href="http://cos.name/tag/%e8%bf%9b%e5%8c%96%e6%a0%91/" rel="tag">
            进化树
           </a>
          </span>
          <span class="author vcard">
           <a class="url fn n" href="http://cos.name/author/editor/" rel="author" title="查看所有由COS编辑部发布的文章">
            COS编辑部
           </a>
          </span>
         </div>
         <!-- .entry-meta -->
        </header>
        <!-- .entry-header -->
        <div class="entry-content">
         <p>
          本文作者：余光创，目前就读于香港大学公共卫生系，开发过多个R/Bioconductor包，包括
          <a href="http://www.bioconductor.org/packages/ChIPseeker" target="_blank">
           ChIPseeker
          </a>
          ,
          <a href="http://www.bioconductor.org/packagesclusterProfiler" target="_blank">
           clusterProfiler
          </a>
          ,
          <a href="http://www.bioconductor.org/packages/DOSE" target="_blank">
           DOSE,
          </a>
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree,
          </a>
          <a href="http://www.bioconductor.org/packages/GOSemSim" target="_blank">
           GOSemSim
          </a>
          和
          <a href="http://www.bioconductor.org/packages/ReactomePA" target="_blank">
           ReactomePA
          </a>
          。
          <br/>
          进化树看起来和层次聚类很像。有必要解释一下两者的一些区别。
         </p>
         <p>
          层次聚类的侧重点在于分类，把距离近的聚在一起。而进化树的构建可以说也是一个聚类过程，但侧重点在于推测进化关系和进化距离(evolutionary distance)。
          <span id="more-11654">
          </span>
         </p>
         <p>
          层次聚类的输入是距离，比如euclidean或manhattan距离。把距离近的聚在一起。而进化树推断是从生物序列（DNA或氨基酸）的比对开始。最简单的方法是计算一下序列中不匹配的数目，称之为hamming distance（通常用序列长度做归一化），使用距离当然也可以应用层次聚类的方法。进化树的构建最简单的方法是非加权配对平均法（Unweighted Pair Group Method with Arithmetic Mean, UPGMA），这其实是使用average linkage的层次聚类。这种方法在进化树推断上现在基本没人用。更为常用的是邻接法（neighbor joining），两个节点距离其它节点都比较远，而这两个节点又比较近，它们就是neighbor，可以看出neighbor不一定是距离最近的两个节点。真正做进化的人，这个方法也基本不用。现在主流的方法是最大似然法(Maximum likelihood, ML)，通过进化模型（evolutionary model)估计拓朴结构和分支长度，估计的结果具有最高的概率能够产生观测数据（多序列比对）。另外还有最大简约法和贝叶斯推断等方法用于构建进化树。
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/newicktree.gif">
           <img src="http://cos.name/wp-content/uploads/2015/11/newicktree.gif"/>
          </a>
          是最常用的存储进化树的文件格式，如上面这个树，拓朴结构用
          <a href="http://evolution.genetics.washington.edu/phylip/newicktree.html" target="_blank">
           newick
          </a>
          格式可以表示为：
         </p>
         <pre> (B,(A,C,E),D);</pre>
         <p>
          括号最外层是根节点，它有三个子节点，B, (A,C,E)和D，而节点(A,C,E)也有三个子节点A，C和E。
         </p>
         <p>
          加上分支长度，使用:来分隔：
         </p>
         <pre> (B:6.0,(A:5.0,C:3.0,E:4.0):5.0,D:11.0);</pre>
         <p>
          比如A:5.0代表的是A与其父节点的距离是5.0。
         </p>
         <p>
          内部节点也可以有label，写在相应的括号外面，如下所示：
         </p>
         <pre> (B:6.0,(A:5.0,C:3.0,E:4.0)Ancestor1:5.0,D:11.0);</pre>
         <p>
          这是最为广泛支持的文件格式，很多进化树可视软件只支持newick格式。
          <br/>
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          的开发源自于我需要在树上做注释，发现并没有软件可以很容易地实现，通常情况下我们把统计信息加到节点的label上来展示，比如CodeML的dN/dS分析，输出文件里就给用户准备了newick树文本，把dN/dS ( $\omega$ ) 加于节点label之上:
         </p>
         <pre> codeml_file &lt;- system.file("extdata/PAML_Codeml/mlc", package="ggtree")
 tree_text &lt;- readLines(codeml_file)[375:376]
 tree_text</pre>
         <pre><code>## [1] "w ratios as labels for TreeView:"                                                                                                                                                                                                                                                                                         
## [2] "(K #0.0224 , N #0.0095 , (D #0.0385 , (L #0.0001 , (J #0.0457 , (G #0.1621 , ((C #0.0461 , (E #0.0641 , O #0.0538 ) #0.0001 ) #0.0395 , (H #0.1028 , (I #0.0001 , (B #0.0001 , (A #0.0646 , (F #0.2980 , M #0.0738 ) #0.0453 ) #0.0863 ) #1.5591 ) #0.0001 ) #0.0001 ) #0.0549 ) #0.0419 ) #0.0001 ) #0.0964 ) #0.0129 );"</code></pre>
         <p>
          这种做法只能展示一元信息，而且修改节点label真心是个脏活，满满的都是不爽，我心中理想的方式是树与注释信息分开，注释信息可以方便地通过图层加上去，而且可以自由组合。于是着手开发
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          。
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          是个简单易用的R包，一行代码
         </p>
         <pre>ggtree(read.tree(file))</pre>
         <p>
          即可实现树的可视化。而注释通过图层来实现，多个图层可以完成复杂的注释，这得力于
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          的设计。其中最重要的一点是如何来解析进化树。
          <br/>
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          的设计
         </p>
         <h3>
          进化树的解析
         </h3>
         <p>
          除了
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          之外，我所了解到的其它画树软件在画树的时候都把树当成是线条的集合。很明显画出来的进化树就是在画一堆线条，但是线条表示的是父节点和子节点的关系，除此之外没有任何意义，而节点在进化树上代表物种，叶子节点是我们构建进化树的物种，内部节点是根据叶子节点推断的共同祖先。我们所有的进化分析、推断、实验都是针对节点，节点才是进化树上有意义的实体。这是
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          设计的基础，
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          只映射节点到坐标系统中，而线条在 geom_tree 图层中计算并画出来。这是与其它软件最根本的不同，也是
          <a href="http://www.bioconductor.org/packages/ggtree" target="_blank">
           ggtree
          </a>
          能够简单地用图层加注释信息的基础。
         </p>
         <h3>
          扩展ggplot2
         </h3>
         <p>
          有很多可视化包基于ggplot2实现，包括各种 gg 打头的，号称扩展了ggplot2，支持图形语法(grammar of graphics)，我并不认同。虽然基于 ggplot2 产生的图，我们可以用theme来进一步调整细节，用scale_系列函数来调整颜色和标尺的映射，但这些不足以称之为支持图形语法，图形语法最关键核心的部分我认为是图层和映射。
         </p>
         <p>
          像ggphylo, OutbreakTools和phyloseq这几个包都有基于ggplot2的画树函数，但其实都不支持图形语法，它们所实现的是复杂的函数，画完就完事了，用户并不能使用图层来添加相关的信息。
         </p>
         <p>
          如果在 OutbreakTools 这个包中：
         </p>
         <pre> if (show.tip.label) {
 p &lt;- p + geom_text(data = df.tip, aes(x = x, y = y, label = label),
 hjust = 0, size = tip.label.size)
 }</pre>
         <p>
          如果show.tip.label=FALSE，当函数返回p 时 df.tip 就被扔掉，用户想要再加 tip.label 就不可能了。 ggphylo 和 phyloseq 都是类似的实现，这些包把树解析为线条，所以节点相关的信息需要额外的 data.frame 来存储，并且只有极少数的预设参数，比如上面例子中的tip.label。在上面的例子中，用户连更改 tip.label 的颜色都不可能，更别说使用额外的注释信息了。
         </p>
         <p>
          这几个包所实现的画图函数，都可以很容易地用ggtree实现，并用经过测试，ggtree运行速度比这几个包都要快。更多信息请参考
          <a href="https://github.com/GuangchuangYu/ggtree/wiki/Why-ggtree-is-special%3F" target="_blank">
           ggtree的wiki页面
          </a>
          。
          <br/>
          ggtree是真正扩展ggplot2，支持图形语法的包。我们首先扩展ggplot支持tree object做为输入，并实现geom_tree图层来画线条。
         </p>
         <pre> library(ggplot2)
 library(ggtree)
 set.seed(2015-11-26)
 tree &lt;- rtree(30)
 ggplot(tree, aes(x, y)) + geom_tree()</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/0011.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/0011.jpg"/>
          </a>
          ggtree函数是 ggplot() + geom_tree() + xlab(NA) + ylab(NA) + theme_tree() 的简单组合。
         </p>
         <pre>ggtree(tree)</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/0021.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/0021.jpg"/>
          </a>
          想要加 tip.label，用 geom_tiplab 图层，并且ggplot2的图层都可以直接应用 ggtree。
         </p>
         <pre> ggtree(tree) + geom_tiplab() + geom_point(color='firebrick')</pre>
         <h2>
          <a href="http://cos.name/wp-content/uploads/2015/11/0041.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/0041.jpg"/>
          </a>
          树的操作与注释
         </h2>
         <p>
          ggtree提供了多个函数可以把clade放大缩小(scaleClade)，折叠(collapse)和展开(expand)，位置调换和旋转，以及分类(groupOTU, groupClade)。
         </p>
         <pre> nwk &lt;- system.file("extdata", "sample.nwk", package="ggtree")
 tree &lt;- read.tree(nwk)
 p &lt;- ggtree(tree)
 cp &lt;- ggtree(tree) %&gt;% collapse(node=21) + ggtitle('collapse')
 ep &lt;- cp %&gt;% expand(node=21) + ggtitle('expand')
 hp &lt;- p %&gt;% hilight(node=21) + ggtitle('hilight')
 rp &lt;- hp %&gt;% rotate(node=21) + ggtitle('rotate')
 library(gridExtra)
 grid.arrange(cp, ep, hp, rp, ncol=2)</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/0051.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/0051.jpg"/>
          </a>
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/0061.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/0061.jpg"/>
          </a>
         </p>
         <h2>
          支持多种文件格式
         </h2>
         <p>
          ggtree支持的文件格式包括Newick, Nexus, NHX和jplace。
         </p>
         <p>
          上面已经展示了Newick格式，下面的例子是NHX格式：
         </p>
         <pre> nhxfile = system.file("extdata", "ADH.nhx", package="ggtree")
 nhx &lt;- read.nhx(nhxfile)
 ggtree(nhx, ladderize=F) + geom_tiplab() + geom_point(aes(color=S), size=8, alpha=.3) +
 theme(legend.position="right") +
 geom_text(aes(label=branch.length, x=branch), vjust=-.5) +
 xlim(NA, 0.3)</pre>
         <h2>
          <a href="http://cos.name/wp-content/uploads/2015/11/0071.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/0071.jpg"/>
          </a>
          支持解析多种软件的输出文件
         </h2>
         <p>
          我们知道FigTree是针对
          <a href="http://ygc.name/2015/04/01/an-example-of-drawing-beast-tree-using-ggtree/" target="_blank">
           BEAST
          </a>
          的输出设计的，可以把BEAST的统计推断拿来给树做注释，但很多的进化分析软件并没有相应的画树软件支持，用户很难把信息展示出来。
         </p>
         <p>
          ggtree支持ape, phangorn, r8s, RAxML, PAML, HYPHY, EPA, pplacer和BEAST的输出。相应的统计分析结果可以应用于树的注释。可以说ggtree把这些软件分析的结果带给了R用户，通过ggtree的解析， 这些进化分析结果可以进一点在R里进行处理和统计分析，并不单单是在ggtree中展示而已。
         </p>
         <h3>
          RAxML bootstrap分析
         </h3>
         <pre> raxml_file &lt;- system.file("extdata/RAxML", "RAxML_bipartitionsBranchLabels.H3", package="ggtree")
 raxml &lt;- read.raxml(raxml_file)
 ggtree(raxml) + geom_text(aes(label=bootstrap, color=bootstrap)) +
 scale_color_gradient(high='red', low='darkgreen') +
 theme(legend.position='right')</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/008.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/008.jpg"/>
          </a>
          multiPhylo也是支持的，所以100颗bootstrap树可以同时用一行代码展示出来。
         </p>
         <pre>btree_file &lt;- system.file("extdata/RAxML", "RAxML_bootstrap.H3", package="ggtree")
 btree = read.tree(btree_file)
 ggtree(btree) + facet_wrap(~.id, ncol=10)</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/010.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/010.jpg"/>
          </a>
         </p>
         <p>
          如果不分面，这100颗树会重叠画在一起，这也能很好地展示bootstrap分析的结果，bootstrap值低的clade，线条会比较乱，而bootstrap值高的地方，线条一致性比较好。
         </p>
         <h3>
          PAML
         </h3>
         <p>
          使用BaseML预测的祖先序列，ggtree解析结果的同时会把父节点到子节点的subsitution给统计出来，可以直接在树上注释：
         </p>
         <pre>rstfile &lt;- system.file("extdata/PAML_Baseml", "rst", package="ggtree")
 rst &lt;- read.paml_rst(rstfile)
 p &lt;- ggtree(rst) + geom_text(aes(label=marginal_AA_subs, x=branch), vjust=-.5)
 print(p)</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/011.png">
           <img src="http://cos.name/wp-content/uploads/2015/11/011.png"/>
          </a>
          不同于BaseML以碱基为单位，CodeML预测祖先序列，以密码子为单位。`ggtree`定义了一个操作符
          <a href="http://ygc.name/2015/02/10/ggtree-updating-a-tree-view/" target="_blank">
           %&lt;%
          </a>
          ，如果有相同的注释信息要展示，可以用tree object来更新tree view。
         </p>
         <pre>rstfile &lt;- system.file("extdata/PAML_Codeml", "rst", package="ggtree")
 crst &lt;- read.paml_rst(rstfile)
 p %&lt;% crst</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/012.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/012.jpg"/>
          </a>
          <a href="http://cos.name/wp-content/uploads/2015/11/012.jpg">
           <br/>
          </a>
          像上面的例子，用crst来更新p，就是用crst画出来的树+注释。对比两图，可以发现BaseML和CodeML推测的祖先序列是稍有不同的。
         </p>
         <p>
          CodeML的dN/dS分析，我们可以直接把数据拿来给树上色。同样道理分类数据也可以拿来上色。
         </p>
         <pre>mlc_file &lt;- system.file("examples/mlc", package="ggtree")
 mlc &lt;- read.codeml_mlc(mlc_file)
 ggtree(mlc, aes(color=dN_vs_dS)) +
 scale_color_continuous(limits=c(0, 1.5), high='red', low='green', oob=scales::squish, name='dN/dS') +
 theme(legend.position='right')</pre>
         <h3>
          <a href="http://cos.name/wp-content/uploads/2015/11/013.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/013.jpg"/>
          </a>
          使用用户定义数据
         </h3>
         <p>
          进化树已经被广泛应用于各种跨学科的研究中，随着实验技术的发展，各种数据也更易于获得，使用用户数据注释进化树，也是ggtree所支持的。
         </p>
         <pre> nwk &lt;- system.file("extdata", "sample.nwk", package="ggtree")
 tree &lt;- read.tree(nwk)
 p &lt;- ggtree(tree)

 dd &lt;- data.frame(taxa = LETTERS[1:13],
 place = c(rep("GZ", 5), rep("HK", 3), rep("CZ", 4), NA),
 value = round(abs(rnorm(13, mean=70, sd=10)), digits=1))
 ## you don't need to order the data
 ## data was reshuffled just for demonstration
 dd &lt;- dd[sample(1:13, 13), ]
 row.names(dd) &lt;- NULL
 print(dd)</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/014.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/014.jpg"/>
          </a>
         </p>
         <p>
          在上面的例子中，使用一个分类数据和一个连续型数据，输入的唯一要求是第一列是taxon label。ggtree中定义了操作符%&lt;+%，来添加数据。添加之后，用户的数据对ggplot是可见的。可以用于树的注释。
         </p>
         <pre> p &lt;- p %&lt;+% dd + geom_text(aes(color=place, label=label), hjust=-0.5) +
 geom_tippoint(aes(size=value, shape=place, color=place), alpha=0.25)
 p+theme(legend.position="right")</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/016.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/016.jpg"/>
          </a>
         </p>
         <p>
          ggtree还支持用户把自己的数据和树保存为jplace格式。
         </p>
         <p>
          更多的实例请参考
          <a href="http://www.bioconductor.org/packages/release/bioc/vignettes/ggtree/inst/doc/ggtree.html#tree-annotation-with-output-from-evolution-software" target="_blank">
           vignette
          </a>
          。
         </p>
         <p>
          ggtree允许把不同软件的分析结果整合在一起，同时在树上展示或者比较结果。在我们提交的论文中，使用了整合BEAST和CodeML的例子，在树上展示dN/dS、时间轴、氨基酸替换、clade support values、物种和基因型 (genotype）等多维信息，6种不同的信息同时展示在一颗进化树上，这是个复杂的例子，我们在附件1中展示了可重复的代码。如果有兴趣，可以留意一下我们的文章。 🙂
         </p>
         <h2>
          其它好玩的功能
         </h2>
         <p>
          我们把树当成节点的集合，而不是线条的集合，这一点回归到了进化树的本质意义上，使这一实现成为可能。而支持图形语法，与ggplot2的无缝衔接又让注释变得更加容易`ggtree为我们打开了各种注释和操作的可能性。甚至于可以创造出好玩的图，比如使用showtext来
          <a href="http://ygc.name/2015/06/12/ggtree-with-funny-fonts/" target="_blank">
           加载图形化的字体
          </a>
          、
          <a href="http://ygc.name/2015/11/09/phylomoji-with-ggtree/" target="_blank">
           用emoji来画树
          </a>
          、使用
          <a href="http://ygc.name/2015/08/01/ggtree-annotate-phylogenetic-tree-with-local-images/" target="_blank">
           图片来注释树
          </a>
          等等。
         </p>
         <p>
          一个比较正经又好玩的是使用PhyloPic数据库上的图形。
         </p>
         <pre>pp &lt;- ggtree(tree) %&gt;% phylopic("79ad5f09-cf21-4c89-8e7d-0c82a00ce728", color="steelblue", alpha = .3)
 pp + geom_tiplab(align=T, linetype='dashed', linesize=.5) + geom_tippoint(color='firebrick', size=2)</pre>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/11/017.jpg">
           <img src="http://cos.name/wp-content/uploads/2015/11/017.jpg"/>
          </a>
          另一个好玩又为我们展现各种可能性的是
          <a href="http://ygc.name/2015/08/31/subview/" target="_blank">
           subview
          </a>
          函数，它使得图上加小图变得特别容易。并且已经被应用于
          <a href="http://stackoverflow.com/questions/10368180/plotting-pie-graphs-on-map-in-ggplot/32380396#32380396" target="_blank">
           地图上加饼图
          </a>
          。解决这个问题的初衷在于，想要给节点加饼图注释。有了subview函数之后，这会变得很容易，当然我还没有写出给节点加饼图的函数，因为我还没有这个需求，得有一些实际的数据做参考，这样才能够设计出更易用的函数呈现给用户。
         </p>
         <p>
          很多的功能还在开发之中，有问题/建议请及时在
          <a href="https://github.com/GuangchuangYu/ggtree/issues" target="_blank">
           Github
          </a>
          上报告(中英文都可以)。
         </p>
         <div class="wumii-hook">
          <br/>
          <br/>
         </div>
        </div>
        <!-- .entry-content -->
        <footer class="entry-meta">
         <div class="author-info">
          <div class="author-avatar">
           <img src="http://sdn.geekzu.org/avatar/2fe058e9e383c85afa949b36e869432f?s=74&amp;d=monsterid&amp;r=g"/>
          </div>
          <!-- .author-avatar -->
          <div class="author-description">
           <h2 class="author-title">
            关于COS编辑部
           </h2>
           <p class="author-bio">
            本账户为COS编辑部公共账户，目前由朱雪宁任主编，王小宁任副主编，编辑有：冯璟烁、吴佳萍、张心雨、施涛、霍志骥、何通、冷静、尤晓斌、肖楠、邱怡轩、高涛、谢益辉等人，主要负责主站文章的规范化编辑以及相关论文、书籍、手册的整理、编纂、出版等工作。
            <a class="author-link" href="http://cos.name/author/editor/" rel="author">
             查看所有由COS编辑部发表的文章
             <span class="meta-nav">
              →
             </span>
            </a>
           </p>
          </div>
          <!-- .author-description -->
         </div>
         <!-- .author-info -->
        </footer>
        <!-- .entry-meta -->
       </article>
       <!-- #post -->
       <nav class="navigation post-navigation" role="navigation">
        <h1 class="screen-reader-text">
         文章导航
        </h1>
        <div class="nav-links">
         <a href="http://cos.name/2015/11/8th-china-r-nanchang-summary/" rel="prev">
          <span class="meta-nav">
           ←
          </span>
          第八届中国R语言会议（南昌会场）暨江西财经大学第一届金融大数据论坛纪要
         </a>
         <a href="http://cos.name/2015/12/20151212salon/" rel="next">
          COS沙龙第33期（北京）纪要
          <span class="meta-nav">
           →
          </span>
         </a>
        </div>
        <!-- .nav-links -->
       </nav>
       <!-- .navigation -->
       <div class="comments-area" id="comments">
        <h2 class="comments-title">
         《
         <span>
          使用ggtree实现进化树的可视化和注释
         </span>
         》有2个想法
        </h2>
        <ol class="comment-list">
         <li class="comment even thread-even depth-1" id="comment-6983">
          <article class="comment-body" id="div-comment-6983">
           <footer class="comment-meta">
            <div class="comment-author vcard">
             <img src="http://sdn.geekzu.org/avatar/7466436733e8691a63a9f7af4651e014?s=74&amp;d=monsterid&amp;r=g"/>
             <b class="fn">
              <a class="url" href="http://guangchuangyu.github.io" rel="external nofollow">
               YGC
              </a>
             </b>
             <span class="says">
              说道：
             </span>
            </div>
            <!-- .comment-author -->
            <div class="comment-metadata">
             <a href="http://cos.name/2015/11/to-achieve-the-visualization-and-annotation-of-evolutionary-tree-using-ggtree/#comment-6983">
              <time datetime="2015-12-10T23:43:12+00:00">
               2015/12/10 23:43
              </time>
             </a>
            </div>
            <!-- .comment-metadata -->
           </footer>
           <!-- .comment-meta -->
           <div class="comment-content">
            <p>
             使用emoji实例可见：
             <a href="https://github.com/GuangchuangYu/emojifont" rel="nofollow">
              https://github.com/GuangchuangYu/emojifont
             </a>
            </p>
           </div>
           <!-- .comment-content -->
           <div class="reply">
            <a aria-label="回复给YGC" class="comment-reply-link" href="http://cos.name/2015/11/to-achieve-the-visualization-and-annotation-of-evolutionary-tree-using-ggtree/?replytocom=6983#respond" onclick='return addComment.moveForm( "div-comment-6983", "6983", "respond", "11654" )' rel="nofollow">
             回复
            </a>
           </div>
          </article>
          <!-- .comment-body -->
         </li>
         <!-- #comment-## -->
         <li class="comment odd alt thread-odd thread-alt depth-1" id="comment-7144">
          <article class="comment-body" id="div-comment-7144">
           <footer class="comment-meta">
            <div class="comment-author vcard">
             <img src="http://sdn.geekzu.org/avatar/69fe650eec8d1251a8070352accba56c?s=74&amp;d=monsterid&amp;r=g"/>
             <b class="fn">
              张金龙
             </b>
             <span class="says">
              说道：
             </span>
            </div>
            <!-- .comment-author -->
            <div class="comment-metadata">
             <a href="http://cos.name/2015/11/to-achieve-the-visualization-and-annotation-of-evolutionary-tree-using-ggtree/#comment-7144">
              <time datetime="2016-04-10T22:49:44+00:00">
               2016/04/10 22:49
              </time>
             </a>
            </div>
            <!-- .comment-metadata -->
           </footer>
           <!-- .comment-meta -->
           <div class="comment-content">
            <p>
             ggtree使得用R绘制复杂的进化树图成为可能， 祝贺余博士摘取了这颗明珠
            </p>
           </div>
           <!-- .comment-content -->
           <div class="reply">
            <a aria-label="回复给张金龙" class="comment-reply-link" href="http://cos.name/2015/11/to-achieve-the-visualization-and-annotation-of-evolutionary-tree-using-ggtree/?replytocom=7144#respond" onclick='return addComment.moveForm( "div-comment-7144", "7144", "respond", "11654" )' rel="nofollow">
             回复
            </a>
           </div>
          </article>
          <!-- .comment-body -->
         </li>
         <!-- #comment-## -->
        </ol>
        <!-- .comment-list -->
        <div class="comment-respond" id="respond">
         <h3 class="comment-reply-title" id="reply-title">
          发表评论
          <small>
           <a href="http://cos.name/2015/11/to-achieve-the-visualization-and-annotation-of-evolutionary-tree-using-ggtree/#respond" id="cancel-comment-reply-link" rel="nofollow" style="display:none;">
            取消回复
           </a>
          </small>
         </h3>
         <form action="http://cos.name/wp-comments-post.php" class="comment-form" id="commentform" method="post" novalidate="">
          <p class="comment-notes">
           <span id="email-notes">
            电子邮件地址不会被公开。
           </span>
           必填项已用
           <span class="required">
            *
           </span>
           标注
          </p>
          <p class="comment-form-comment">
           <label for="comment">
            评论
           </label>
           <textarea aria-required="true" cols="45" id="comment" maxlength="65525" name="comment" required="required" rows="8">
           </textarea>
          </p>
          <p class="comment-form-author">
           <label for="author">
            姓名
            <span class="required">
             *
            </span>
           </label>
          </p>
          <p class="comment-form-email">
           <label for="email">
            电子邮件
            <span class="required">
             *
            </span>
           </label>
          </p>
          <p class="comment-form-url">
           <label for="url">
            站点
           </label>
          </p>
          <p class="form-submit">
          </p>
          <p style="display: none;">
          </p>
          <p style="display: none;">
          </p>
         </form>
        </div>
        <!-- #respond -->
       </div>
       <!-- #comments -->
      </div>
      <!-- #content -->
     </div>
     <!-- #primary -->
     <div class="sidebar-container" id="tertiary" role="complementary">
      <div class="sidebar-inner">
       <div class="widget-area">
        <aside class="widget widget_text" id="text-3">
         <h3 class="widget-title">
          关注统计之都
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            新浪微博
            <a href="http://weibo.com/cosname">
             @统计之都
            </a>
           </li>
           <li>
            人人网
            <a href="http://renren.com/cosname">
             @统计之都
            </a>
           </li>
           <li>
            Twitter
            <a href="http://twitter.com/cos_name">
             @cos_name
            </a>
           </li>
          </ul>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-6">
         <h3 class="widget-title">
          微信公众平台
         </h3>
         <div class="textwidget">
          <img src="http://cos.name/wp-content/uploads/2013/04/qrcode-8cm.jpg"/>
          <p style="font-size:12px;margin-left:15px">
           微信号 CapStat
          </p>
          <p>
           我们将第一时间向您推送主站和论坛的精彩内容，以及统计之都的线下活动、竞赛、培训和会议信息。
          </p>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-8">
         <h3 class="widget-title">
          站内导航
         </h3>
         <div class="textwidget">
          <ul>
           <li class="page_item">
            <a href="http://cos.name/cn/">
             中文论坛
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/videos/">
             视频
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/salon/">
             统计沙龙
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/books/">
             图书出版
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/training/">
             教育培训
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/about/">
             关于我们
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/donate/">
             捐赠
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/chinar/">
             R语言会议
            </a>
           </li>
          </ul>
         </div>
        </aside>
        <aside class="widget widget_links" id="linkcat-2">
         <h3 class="widget-title">
          友情链接
         </h3>
         <ul class="xoxo blogroll">
          <li>
           <a href="http://stat.ruc.edu.cn" target="_blank" title="中国人民大学统计学院网站">
            中国人民大学统计学院
           </a>
          </li>
          <li>
           <a href="http://rucdmc.net">
            中国人民大学数据挖掘中心
           </a>
          </li>
          <li>
           <a href="http://birc.gsm.pku.edu.cn/" target="_blank">
            北京大学商务智能研究中心
           </a>
          </li>
          <li>
           <a href="http://sam.cufe.edu.cn/" target="_blank" title="中央财经大学统计与数学学院网站">
            中央财经大学统计与数学学院
           </a>
          </li>
          <li>
           <a href="http://tjx.cueb.edu.cn/" target="_blank" title="首都经济贸易大学统计学院网站">
            首经贸统计学院
           </a>
          </li>
          <li>
           <a href="http://www.shookr.com/">
            数客网大数据社区
           </a>
          </li>
          <li>
           <a href="http://www.xueqing.tv/" target="_blank" title="数据科学在线学习平台">
            雪晴数据网
           </a>
          </li>
          <li>
           <a href="http://iera.name/" target="_blank" title="IERA是一个旨在普及、传播和增进工业工程知识的非营利性网站">
            IERA（直通IE）
           </a>
          </li>
         </ul>
        </aside>
        <aside class="widget widget_categories" id="categories-2">
         <h3 class="widget-title">
          全部分类
         </h3>
         <label class="screen-reader-text" for="cat">
          全部分类
         </label>
         <select class="postform" id="cat" name="cat">
          <option value="-1">
           选择分类目录
          </option>
          <option class="level-0" value="925">
           cos访谈  (4)
          </option>
          <option class="level-0" value="659">
           图书出版  (5)
          </option>
          <option class="level-0" value="379">
           数学方法  (14)
          </option>
          <option class="level-1" value="381">
           分析与代数  (1)
          </option>
          <option class="level-1" value="380">
           概率论  (9)
          </option>
          <option class="level-1" value="382">
           随机过程  (5)
          </option>
          <option class="level-0" value="210">
           数据分析  (81)
          </option>
          <option class="level-1" value="203">
           多元统计  (3)
          </option>
          <option class="level-1" value="42">
           数据挖掘与机器学习  (42)
          </option>
          <option class="level-1" value="36">
           生物与医学统计  (17)
          </option>
          <option class="level-1" value="35">
           计量经济学  (4)
          </option>
          <option class="level-1" value="296">
           金融统计  (3)
          </option>
          <option class="level-1" value="303">
           风险精算  (7)
          </option>
          <option class="level-0" value="177">
           模型专题  (15)
          </option>
          <option class="level-1" value="38">
           回归分析  (10)
          </option>
          <option class="level-1" value="41">
           时间序列  (2)
          </option>
          <option class="level-0" value="784">
           每周精选  (24)
          </option>
          <option class="level-1" value="183">
           可视化  (9)
          </option>
          <option class="level-0" value="967">
           沙龙纪要  (3)
          </option>
          <option class="level-0" value="18">
           经典理论  (46)
          </option>
          <option class="level-1" value="37">
           抽样调查  (3)
          </option>
          <option class="level-1" value="4">
           统计推断  (26)
          </option>
          <option class="level-1" value="236">
           试验设计  (7)
          </option>
          <option class="level-1" value="39">
           非参数统计  (3)
          </option>
          <option class="level-0" value="1">
           统计之都  (279)
          </option>
          <option class="level-1" value="884">
           中国R会议  (2)
          </option>
          <option class="level-1" value="885">
           中国R语言会议  (5)
          </option>
          <option class="level-1" value="446">
           出国留学  (3)
          </option>
          <option class="level-1" value="179">
           推荐文章  (90)
          </option>
          <option class="level-1" value="3">
           新闻通知  (75)
          </option>
          <option class="level-1" value="263">
           统计刊物  (10)
          </option>
          <option class="level-1" value="174">
           网站导读  (40)
          </option>
          <option class="level-1" value="204">
           职业事业  (51)
          </option>
          <option class="level-1" value="213">
           高校课堂  (9)
          </option>
          <option class="level-0" value="178">
           统计计算  (28)
          </option>
          <option class="level-1" value="40">
           优化与模拟  (15)
          </option>
          <option class="level-1" value="43">
           贝叶斯方法  (6)
          </option>
          <option class="level-0" value="378">
           软件应用  (116)
          </option>
          <option class="level-1" value="44">
           统计图形  (36)
          </option>
          <option class="level-1" value="110">
           统计软件  (83)
          </option>
         </select>
        </aside>
        <aside class="widget widget_recent_comments" id="recent-comments-2">
         <h3 class="widget-title">
          最新评论
         </h3>
         <ul id="recentcomments">
          <li class="recentcomments">
           <span class="comment-author-link">
            fineboom
           </span>
           发表在《
           <a href="http://cos.name/2016/06/use-shiny-fleetly-set-up-visual-prototype-system/#comment-7317">
            利用shiny包快速搭建可视化原型系统
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            胡家新
           </span>
           发表在《
           <a href="http://cos.name/2016/06/r%e8%af%ad%e5%8d%83%e5%af%bb%e7%ac%ac%e4%b8%89%e6%9c%9f%ef%bc%9a%e5%bc%a0%e6%97%a0%e5%bf%8c%e7%a9%b6%e7%ab%9f%e7%88%b1%e8%b0%81%ef%bc%9f/#comment-7316">
            R语千寻第三期：张无忌究竟爱谁？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            <a class="url" href="http://www.zijiacha.com/category.php?id=6" rel="external nofollow">
             南糯山普洱茶
            </a>
           </span>
           发表在《
           <a href="http://cos.name/2016/06/r%e8%af%ad%e5%8d%83%e5%af%bb%e7%ac%ac%e4%b8%89%e6%9c%9f%ef%bc%9a%e5%bc%a0%e6%97%a0%e5%bf%8c%e7%a9%b6%e7%ab%9f%e7%88%b1%e8%b0%81%ef%bc%9f/#comment-7315">
            R语千寻第三期：张无忌究竟爱谁？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            J
           </span>
           发表在《
           <a href="http://cos.name/2016/05/value-of-the-reputation-from-the-data/#comment-7314">
            数据告诉你：高信誉的卖家应该收高价，还是收低价？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            <a class="url" href="http://gg" rel="external nofollow">
             Hilda
            </a>
           </span>
           发表在《
           <a href="http://cos.name/2013/01/drawing-map-in-r-era/#comment-7311">
            R时代，你要怎样画地图？
           </a>
           》
          </li>
         </ul>
        </aside>
        <aside class="widget widget_rss" id="rss-282869971">
         <h3 class="widget-title">
          <a class="rsswidget" href="http://cos.name/cn/topics/feed/">
           <img src="http://cos.name/wp-includes/images/rss.png"/>
          </a>
          <a class="rsswidget" href="http://cos.name/cn/topics/feed/">
           中文论坛新帖
          </a>
         </h3>
         <ul>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/417372/">
            处理时间数据和产生时间序列的问题
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/6790/">
            《统计陷阱》下载 （How to lie with statistics）
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/818/">
            统计学的世界（第五版）
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/16574/">
            class(x) 返回值值是AsIs,AsIs代表什么，有什么用处？
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/417366/">
            如何用R绘制一个分类算法的决策规则
           </a>
          </li>
         </ul>
        </aside>
        <aside class="widget widget_text" id="text-2">
         <h3 class="widget-title">
          登录/RSS
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            <a href="http://cos.name/wp-admin/">
             登录
            </a>
           </li>
           <li>
            <a href="http://cos.name/feed/" title="使用 RSS 2.0 同步站点内容">
             文章
             <abbr title="Really Simple Syndication">
              RSS
             </abbr>
            </a>
           </li>
           <li>
            <a href="http://cos.name/comments/feed/" title="RSS 上的最近评论">
             评论
             <abbr title="Really Simple Syndication">
              RSS
             </abbr>
            </a>
           </li>
          </ul>
         </div>
        </aside>
       </div>
       <!-- .widget-area -->
      </div>
      <!-- .sidebar-inner -->
     </div>
     <!-- #tertiary -->
    </div>
    <!-- #main -->
    <footer class="site-footer" id="colophon" role="contentinfo">
     <div class="site-info">
      版权所有 © 2014 统计之都 | 由
      <a href="http://wordpress.org/">
       WordPress
      </a>
      构建 | 主题修改自
      <a href="http://wordpress.org/themes/twentythirteen">
       Twenty Thirteen
      </a>
     </div>
     <!-- .site-info -->
    </footer>
    <!-- #colophon -->
   </div>
   <!-- #page -->
   <p style="margin:0;padding:0;height:1px;overflow:hidden;">
    <a href="http://www.wumii.com/widget/relatedItems" style="border:0;">
     <img src="http://static.wumii.cn/images/pixel.png"/>
    </a>
   </p>
  </div>
 </body>
</html>